#ifndef DXShader_H
#define DXShader_H

#include <d3d9.h>
#include <d3dx9.h>

#include "DXRenderer.h"

class DXShader
{
public:
	DXShader(LPCTSTR FileName);
	~DXShader(void);

	void Initialize();
	void SetTechnique(LPCSTR Name);
	void SetMatrix(D3DXHANDLE ParameterName, D3DXMATRIX Matrix);
	void SetVector(D3DXHANDLE ParameterName, D3DXVECTOR4 Vector);
	void SetTexture(D3DXHANDLE ParameterName, LPDIRECT3DTEXTURE9 Texture);

	void BeginPass();
	void EndPass();

private:
	LPD3DXEFFECT			m_Effect;
	LPCTSTR					m_FileName;
};
#endif
